<div>001</div>
<div>002</div>
<div>003</div>

<script>
;(function(window,undefined) {

    function init(el){
        let els=document.querySelectorAll(el)
        
        //     for(let i=0;i<els.length;i++){
        //         this[i]=els[i]
        //     }
        //     this.length=els.length
    
        //  上述优化
            let arr=[]
            arr.push.apply(this,els)
            // console.log(arr.push.apply(this,els))
    }
    //去掉new --> $() 调用不写new
    let jQuery=function(el){
        return new init(el)
    }
    // 静态方法 能添加原型的
    jQuery.extend=function(object){
        for(let key in object) init.prototype[key]=object[key]
    }
    
    init.prototype={ 
        css(cssAttr,cssVal){
            // console.log(1,this)
            // this.forEach(function (i,item) {
            //     console.log(i)
            // });
            for(let i=0;i<this.length;i++) this[i].style[cssAttr]=cssVal

            return this
        },
        ajax(options){},
        attr(options){},
        addClass(options){}

    }

    window.jQuery = window.$ = jQuery

})(window)


let jqObj= $('div');
// console.log(jqObj);
 
jqObj.css('color','red').css('background','#ccc')

$.extend({ abc(){} })

console.log($('div'))

</script>